<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <StringResourcesPath>../../src/Resources/Strings.resx</StringResourcesPath>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)-browser</TargetFrameworks>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="Base64EncodingTest.cs" />
    <Compile Include="ByteEncodingTest.cs" />
    <Compile Include="EightBitStreamTest.cs" />
    <Compile Include="EncodedStreamFactoryTest.cs" />
    <Compile Include="MailAddressTests\MailAddressDisplayNameTest.cs" />
    <Compile Include="MailAddressTests\MailAddressEncodeTest.cs" />
    <Compile Include="MailAddressTests\MailAddressParserTest.cs" />
    <Compile Include="MailAddressTests\MailAddressParsingTest.cs" />
    <Compile Include="MessageTests\MessageEncodeHeadersTest.cs" />
    <Compile Include="MessageTests\MessageHeaderBehaviorTest.cs" />
    <Compile Include="MessageTests\ReplyToListTest.cs" />
    <Compile Include="QuotedPrintableStreamTest.cs" />
    <Compile Include="SmtpConnectionTests\EhloParseExtensionsTest.cs" Condition="'$(TargetPlatformIdentifier)' != 'browser'" />
    <Compile Include="SmtpDateTimeTest.cs" />
    <Compile Include="WriteStateInfoTest.cs" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\..\src\System\Net\Base64Stream.cs"
             Link="ProductionCode\Base64Stream.cs" />
    <Compile Include="..\..\src\System\Net\Mail\SmtpException.cs"
             Link="ProductionCode\SmtpException.cs" />
    <Compile Include="..\..\src\System\Net\Mail\SmtpStatusCode.cs"
             Link="ProductionCode\SmtpStatusCode.cs" />
    <Compile Include="..\..\src\System\Net\DelegatedStream.cs"
             Link="ProductionCode\DelegatedStream.cs" />
    <Compile Include="..\..\src\System\Net\Mail\DomainLiteralReader.cs"
             Link="ProductionCode\DomainLiteralReader.cs" />
    <Compile Include="..\..\src\System\Net\Mail\DotAtomReader.cs"
             Link="ProductionCode\DotAtomReader.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailAddress.cs"
             Link="ProductionCode\MailAddress.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailAddressParser.cs"
             Link="CProductionCode\MailAddressParser.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailBnfHelper.cs"
             Link="ProductionCode\MailBnfHelper.cs" />
    <Compile Include="..\..\src\System\Net\Mail\NetEventSource.Mail.cs"
             Link="ProductionCode\NetEventSource.Mail.cs" />
    <Compile Include="..\..\src\System\Net\Mail\QuotedPairReader.cs"
             Link="ProductionCode\QuotedPairReader.cs" />
    <Compile Include="..\..\src\System\Net\Mail\QuotedStringFormatReader.cs"
             Link="ProductionCode\QuotedStringFormatReader.cs" />
    <Compile Include="..\..\src\System\Net\Mail\ISmtpAuthenticationModule.cs"
             Link="ProductionCode\ISmtpAuthenticationModule.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailAddressCollection.cs"
             Link="ProductionCode\MailAddressCollection.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailPriority.cs"
             Link="ProductionCode\MailPriority.cs" />
    <Compile Include="..\..\src\System\Net\Mail\WhitespaceReader.cs"
             Link="ProductionCode\WhitespaceReader.cs" />
    <Compile Include="..\..\src\System\Net\Mime\MimePart.cs"
             Link="ProductionCode\MimePart.cs" />
    <Compile Include="..\..\src\System\Net\Mime\Base64WriteStateInfo.cs"
             Link="ProductionCode\Base64WriteStateInfo.cs" />
    <Compile Include="..\..\src\System\Net\Mime\QuotedPrintableStream.cs"
             Link="ProductionCode\QuotedPrintableStream.cs" />
    <Compile Include="..\..\src\System\Net\CloseableStream.cs"
             Link="ProductionCode\CloseableStream.cs" />
    <Compile Include="..\..\src\System\Net\Mime\EightBitStream.cs"
             Link="ProductionCode\EightBitStream.cs" />
    <Compile Include="..\..\src\System\Net\Mime\EncodedStreamFactory.cs"
             Link="ProductionCode\EncodedStreamFactory.cs" />
    <Compile Include="..\..\src\System\Net\Mime\IEncodableStream.cs"
             Link="ProductionCode\IEncodableStream.cs" />
    <Compile Include="..\..\src\System\Net\Mime\QEncodedStream.cs"
             Link="ProductionCode\QEncodedStream.cs" />
    <Compile Include="..\..\src\System\Net\Mime\WriteStateInfoBase.cs"
             Link="ProductionCode\WriteStateInfoBase.cs" />
    <Compile Include="..\..\src\System\Net\Mime\BaseWriter.cs"
             Link="ProductionCode\BaseWriter.cs" />
    <Compile Include="..\..\src\System\Net\Mime\TransferEncoding.cs"
             Link="ProductionCode\TransferEncoding.cs" />
    <Compile Include="..\..\src\System\Net\Mime\ContentDisposition.cs"
             Link="ProductionCode\ContentDisposition.cs" />
    <Compile Include="..\..\src\System\Net\Mime\ContentType.cs"
             Link="ProductionCode\ContentType.cs" />
    <Compile Include="..\..\src\System\Net\Mime\DispositionTypeNames.cs"
             Link="ProductionCode\DispositionTypeNames.cs" />
    <Compile Include="..\..\src\System\Net\Mime\HeaderCollection.cs"
             Link="ProductionCode\HeaderCollection.cs" />
    <Compile Include="..\..\src\System\Net\Mime\MediaTypeNames.cs"
             Link="ProductionCode\MediaTypeNames.cs" />
    <Compile Include="..\..\src\System\Net\Mime\MimeBasePart.cs"
             Link="ProductionCode\MimeBasePart.cs" />
    <Compile Include="..\..\src\System\Net\Mime\SmtpDateTime.cs"
             Link="ProductionCode\SmtpDateTime.cs" />
    <Compile Include="..\..\src\System\Net\Mime\MultiAsyncResult.cs"
             Link="ProductionCode\MultiAsyncResult.cs" />
    <Compile Include="..\..\src\System\Net\Mime\ByteEncoder.cs"
             Link="ProductionCode\ByteEncoder.cs" />
    <Compile Include="..\..\src\System\Net\Mime\Base64Encoder.cs"
             Link="ProductionCode\Base64Encoder.cs" />
    <Compile Include="..\..\src\System\Net\Mime\IByteEncoder.cs"
             Link="ProductionCode\IByteEncoder.cs" />
    <Compile Include="..\..\src\System\Net\Mime\QEncoder.cs"
             Link="ProductionCode\QEncoder.cs" />
    <Compile Include="..\..\src\System\Net\TrackingStringDictionary.cs"
             Link="ProductionCode\TrackingStringDictionary.cs" />
    <Compile Include="..\..\src\System\Net\TrackingValidationObjectDictionary.cs"
             Link="ProductionCode\TrackingValidationObjectDictionary.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailHeaderID.cs"
             Link="ProductionCode\MailHeaderID.cs" />
    <Compile Include="..\..\src\System\Net\Mail\MailHeaderInfo.cs"
             Link="ProductionCode\MailHeaderInfo.cs" />
    <Compile Include="..\..\src\System\Net\BufferBuilder.cs"
             Link="ProductionCode\BufferBuilder.cs" />
    <Compile Include="$(CommonPath)DisableRuntimeMarshalling.cs"
             Link="Common\DisableRuntimeMarshalling.cs" />
    <Compile Include="$(CommonPath)System\Net\TlsStream.cs"
             Link="Common\System\Net\TlsStream.cs" />
    <Compile Include="$(CommonPath)System\Net\InternalException.cs"
             Link="Common\System\Net\InternalException.cs" />
    <Compile Include="$(CommonPath)System\Net\LazyAsyncResult.cs"
             Link="Common\System\Net\LazyAsyncResult.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.Associate.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.Associate.cs" />
    <Compile Include="$(CommonPath)System\Net\SecurityProtocol.cs"
             Link="Common\System\Net\SecurityProtocol.cs" />
    <Compile Include="$(CommonPath)System\Net\DebugSafeHandleZeroOrMinusOneIsInvalid.cs"
             Link="Common\System\Net\DebugSafeHandleZeroOrMinusOneIsInvalid.cs" />
    <Compile Include="$(CommonPath)System\Net\DebugSafeHandle.cs"
             Link="Common\System\Net\DebugSafeHandle.cs" />
    <Compile Include="$(CommonPath)System\Net\ExceptionCheck.cs"
             Link="Common\System\Net\ExceptionCheck.cs" />
    <Compile Include="$(CommonPath)System\Collections\Generic\BidirectionalDictionary.cs"
             Link="Common\System\Collections\Generic\BidirectionalDictionary.cs" />
    <Compile Include="$(CommonPath)System\NotImplemented.cs"
             Link="Common\System\NotImplemented.cs" />
    <Compile Include="$(CommonPath)System\Net\NegotiationInfoClass.cs"
             Link="Common\System\Net\NegotiationInfoClass.cs" />
    <Compile Include="$(CommonPath)System\HexConverter.cs"
             Link="Common\System\HexConverter.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs"
             Link="Common\System\Obsoletions.cs" />
    <Compile Include="$(CommonPath)System\Text\ValueStringBuilder.cs" 
             Link="Common\System\Text\ValueStringBuilder.cs" /> 
  </ItemGroup>
  <!-- Unix specific files -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'unix'">
    <Compile Include="$(CommonPath)System\Net\ContextAwareResult.Unix.cs"
             Link="Common\System\Net\ContextAwareResult.Unix.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Libraries.cs"
             Link="Common\Interop\Unix\Interop.Libraries.cs" />
  </ItemGroup>
  <!-- Windows specific files -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <Compile Include="$(CommonPath)System\Net\ContextAwareResult.Windows.cs"
             Link="Common\System\Net\ContextAwareResult.Windows.cs" />
  </ItemGroup>

  <!-- Non Browser specific files - internal and security -->
  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != 'browser'">
    <Compile Include="..\..\src\System\Net\Mail\SmtpLoginAuthenticationModule.cs"
             Link="ProductionCode\SmtpLoginAuthenticationModule.cs" />
    <Compile Include="..\..\src\System\Net\Mail\SmtpNegotiateAuthenticationModule.cs"
             Link="ProductionCode\SmtpNegotiateAuthenticationModule.cs" />
    <Compile Include="..\..\src\System\Net\Mail\SmtpNtlmAuthenticationModule.cs"
             Link="ProductionCode\SmtpNtlmAuthenticationModule.cs" />
    <Compile Include="$(CommonPath)System\Net\ContextAwareResult.cs"
             Link="Common\System\Net\ContextAwareResult.cs" />
    <Compile Include="..\..\src\System\Net\Mail\SmtpConnection.Auth.cs"
             Link="ProductionCode\SmtpConnection.Auth.cs" />
  </ItemGroup>

  <ItemGroup>
    <!-- Do not reference these assemblies from the TargetingPack since we are building part of the source code for tests. -->
    <DefaultReferenceExclusion Include="System.Net.Mail" />
    <ProjectReference Include="$(LibrariesProjectRoot)System.Security.Principal.Windows\src\System.Security.Principal.Windows.csproj" />
  </ItemGroup>
</Project>
